1. Field of the Invention
The invention relates generally to modems and more particularly to software modems that are implemented in microprocessors and that use information about the computing environment to determine the most appropriate data transfer rate.
2. Description of the Relevant Art
As the performance of microprocessors has increased, so have the opportunities to develop software applications. The software applications that have been developed to take advantage of these opportunities have included not only what might be considered more traditional applications, but also applications which emulate or take over functions traditionally implemented in hardware. By taking advantage of the extra processing power, software implementations can reduce the cost of the modem components in computing systems.
A modem is one example of computer system component which can be implemented in software. Software modems may provide various advantages over hardware modems. Software designs may be more easily changed than hardware designs. Likewise, it may be easier to update the software designs and to provide the updates to users. Modem applications may, however, present complications which do not arise from other types of applications. For instance, modem applications must operate in real-time and must operate under particular latency constraints with respect to the analog converter which is used to interface with the telephone line. Further, modem applications generally require a large portion of the processing time available in the system. Therefore, in a heavily loaded system, modem applications may worsen the loading situation by increasing the number of applications and devices competing for scarce system resources.
When a connection is established between a pair of modems, the modems must agree upon a protocol which will be used as the basis for transmitting and interpreting data between them. The modems first negotiate with each other to choose a modem technology within which to operate. This technology is normally the most recent technology which is common to both modems. A given technology generally allows operation within a discrete range of bit rates. Prior art software modems select one of these bit rates based only upon the quality of the telephone line on which the modem connection is established. The higher rates are used when the conditions on the telephone line are good and less fault tolerance is required and the lower rates are used when line conditions are poor and the modem connection needs to be more fault tolerant. Once the technology and bit rate are established, the modems can begin transmitting data.